package models

import (
	"sync"

	"github.com/globalsign/mgo/bson"
)

type Union struct {
	Id             bson.ObjectId `bson:"_id" json:"id"`
	Name           string        `bson:"name" json:"name"`
	Score          int64         `bson:"score" json:"score"`
	Desc           string        `bson:"desc" json:"desc"`
	JoinStatus     int64         `bson:"joinStatus" json:"joinStatus"` //允许加入
	Num            int64         `bson:"num" json:"num"`               //工会人数
	ShortName      string        `bson:"shortName" json:"shortName"`
	Star           int64         `bson:"star" json:"star"`
	StarChangeTime int64         `bson:"starChangeTime" json:"starChangeTime"` // 星星改变时间
	CreateTime     int64         `bson:"createTime" json:"createTime"`         // 工会创建时间
}

// 成员信息
type UnionMember struct {
	Uid         string `bson:"uid" json:"uid"`                 //成员id
	Name        string `bson:"name" json:"name"`               //成员名
	Head        string `bson:"head" json:"head"`               //
	Score       int64  `bson:"score" json:"score"`             //成员积分
	JoinTime    int64  `bson:"joinTime" json:"joinTime"`       //成员加入时间
	Manager     int64  `bson:"manager" json:"manager"`         //管理
	Star        int64  `bson:"star" json:"star"`               //成员获得的信息数量
	OffLineTime int64  `bson:"offLineTime" json:"offLineTime"` //离线时间
	AvatarFrame int64  `bson:"avatarFrame" json:"avatarFrame"`
	onLine      int64
}

// 公会成员
type UnionMembers struct {
	UnionId bson.ObjectId           `bson:"_id" json:"id"`                    //工会ID
	Members map[string]*UnionMember `bson:"members,omitempty" json:"members"` //工会成员
	rw      *sync.RWMutex
}

//页面显示格式
type JUnionMembers struct {
	UnionId bson.ObjectId  `bson:"_id" json:"id"`                    //工会ID
	Members []*UnionMember `bson:"members,omitempty" json:"members"` //工会成员
}
